/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2013/03/17
* File: ParameterManager.h
* Blog: http://www.cnblogs.com/zengqh/
**/

#pragma once

namespace HY
{
class Parameter;
class ParameterManager : public Noncopyable
{
public:
	Parameter* createParam(uint32 type, const std::string& name);

	Parameter* getParam(const std::string& name) const;

	uint32 getNumOfParams() const;

	void removeAllParams();

	bool isParam(const std::string& name) const;

private:
	ParameterManager();
	virtual ~ParameterManager();

private:
	std::map<std::string, Parameter*>	param_map_;
};
}